import inspect

class A(object):
    pass

class SuperB(object):
    def compute_super(self): print 'Super'

class B(SuperB):
    
    def func(self): print 'Func'
    
    def compute_output(self): print 'output'
    
    def compute_value(self): print 'value'
    
    
a = A()
b = B()

for name, value in inspect.getmembers(B):
    print name, value
    if not inspect.ismethod(value) or not name.startswith("compute_"):
        continue
    #print 
    setattr(A, name, value.im_func)

a.compute_output()
a.compute_value()
a.compute_super()

print B.__dict__.items()



